#pragma once

/*
* noncopyable被继承以后，派生类对象可以正常的构造和析构，但是派生类对象
* 无法进行拷贝构造和赋值构造
*/
class noncopyable
{
public:
    noncopyable(const noncopyable&) = delete;
    noncopyable& operator=(const noncopyable&) = delete;
protected:
    // 子类的构造和析构需要调用夫类的构造和析构
    noncopyable() = default;// default:默认实现
    ~noncopyable() = default;
};